The general adoption of cloud computing has led to the deployment of a wide range of applications. In such cloud computing solutions, physical components are often shared among tenants. Such physical components may include, for example, compute nodes, processors, storage nodes, disks, and network fabrics. Each of these physical components contributes to the resources available to tenants. Such resources may include, e.g., processing, memory, and/or network resources. Virtualization principles may be applied to dynamically allocate and/or deallocate resources to particular tasks within the cloud. Pricing models adapted to such virtualized environments typically meter resource usage of individual tenants, thereby enabling each tenant to pay only for the resources actually allocated to them.
Network processing is a domain to which cloud computing and virtualization principles have previously been generally applied. In support of such network processing, network services may also be packaged on physical appliances and connected together via a physical network. These network services include interconnected network functions (NF) such as firewalls, deep packet inspectors, and transcoders, among others.